Various computer assisted search systems require that a set number of categories or category hierarchy be conceived based on the type of data that is being delivered to the end user. This methodology, however, brings two important limiting factors.
First, on a mobile device, the visual frame within which a user needs to make his selections is limited. A hierarchy of categories exceeding two levels generally becomes cumbersome and removes valuable screen real-estate from the result set.
Second, it does not take into account the search context of the user. A hierarchy imposed on the user might limit the ability of the user to find elements of interest to the user. For example, a user might be more interested in a particular colour of items as opposed to a range of prices. However, in a rigid hierarchy, the user might be forced to make multiple searches in each of the price ranges to find the list of products which pertain to a particular colour (traversing up and down the category hierarchy).
The following user/system dialog is representative of the conventional approach to result refinement following a text search:
User: Search term is “shoes”;
System: Returns result list of all shoes and a list of pre-determined sub categories;
System: Gives as sub-categories: “Men's shoes, Women's shoes or Children's shoes”
User: Selects “Women's shoes”
System: Returns result list of all “Women's shoes”;
System: Gives a list of sub categories to “Women's shoes” such as “blue, red, green” or “athletic, high-heel or dress shoe”.
This example shows a linear approach to search refinement. It assumes that the first element that a user wishes to search is by a sub-category showing men's, women's or children's shoes and immediately following that selection the user is forced into another categorization (in this example “colour”). It is inflexible and does not allow the user to search as they wish. A user looking for all shoes that are blue in this case would have to traverse each major category first (men's, women's and finally children's) in order to see all blue shoes.
Though this approach could be tolerable on a desktop or laptop computer or when the number of products (or more generally items) is small, it is generally cumbersome on a mobile device due to the limited information that can be displayed due to the limited screen size.
These hierarchical approaches also tend to pre-define searchable categories. What this means in practical terms is that if someone typed a search term ‘shoes’ as in the previous example and wanted to refine their search to find ‘blue leather shoes” but the material listing did not form part of the hierarchy defined in the search, the user would end up being limited to finding blue shoes in the men's, women's and children's categories. The users would then be left to themselves to determine if the shoes that they had found were indeed made of leather.
In view of the foregoing, there is a need for improved systems and methods for refining the results of semantic searches, particularly on mobile computing devices.